A Managed C++ programozási nyelv

Alprogramok

Alprogramok

Eljárások, függvények. Működésük megegyezik a hagyományossal, viszont például tömb típusú paraméter és visszatéri érték esetén a formális paraméterek szintaktikája más, illetve bevezettek egy új függvénytípust, a "tulajdonságot", azaz __property-t. Ez utóbbi lényegében csak szintaktikai könnyítés a programozó számára, valójában teljesen ugyanaz mint egy hagyományos függvény.

Példák:

int MaxKer( int vArray __gc[] ) { /*...*/ return max; } // ez egy integer típusú tömböt váró függvény bool Primek( int vArray __gc[] ) __gc[] { // ez is ugyanazt vár aktuális paraméterként, de bool típusú tömböt ad vissza bool vPrimek __gc[] = new bool __gc[ vArray->Length ]; //... return vPrimek; }

Tulajdonság (__property). Osztályokban és struktúrákban használatos, általában egy get és egy set műveletet végez el az objektum védett változóin, de bármi mást végrehajthat, csakúgy, mint egy hagyományos eljárás vagy függvény.

Példa:

__property int get_Value( void ) { return m_value; } __property void set_Value( int val ){ m_value = val; } //hívás Osztalyom->Value = 3; int v = Osztalyom-<Value;

Fontos a tulajdonság azonosítójának a szintaktikája: mindig get_ és set_ kell, hogy legyen a prefixük, és a nevük nem ütközhet más, a tulajdonság által látható változó, illetve függvény nevével.

A 2005-ös .NET-ben, azaz a C++/CLI (a Managed C++ hivatalos elnevezése 2005-től) nyelvben, már megváltoztatták a tulajdonságok szintaktikáját, amelyek így már szintaktikailag majdnem teljesen azonosak a C#-os tulajdonságokkal.

Példa:

private: int _StudRank = 0; public: property int StudRank { int get() { return _StudRank; } void set(int x) { _StudRank = x; } }